Simulink fault localization: an iterative statistical debugging approach
نویسندگان
چکیده
Debugging Simulink models presents a significant challenge in the embedded industry. In this work, we propose SimFL, a fault localization approach for Simulink models by combining statistical debugging and dynamic model slicing. Simulink models, being visual and hierarchical, have multiple outputs at different hierarchy levels. Given a set of outputs to observe for localizing faults, we generate test execution slices, for each test case and output, of the Simulink model. In order to further improve fault localization accuracy, we propose iSimFL, an iterative fault localization algorithm. At each iteration, iSimFL increases the set of observable outputs by including outputs at lower hierarchy levels, thus increasing the test oracle cost but offsetting it with significantly more precise fault localization. We utilize a heuristic stopping criterion to avoid unnecessary test oracle extension. We evaluate our work on three industrial Simulink models from Delphi Automotive. Our results show that, on average, SimFL ranks faulty blocks in the top 8.9% in the list of suspicious blocks. Further, we show that iSimFL significantly improves this percentage down to 4.4% by requiring engineers to observe only an average of five additional outputs at lower hierarchy levels on top of high-level model outputs.
منابع مشابه
Model Checking and Delta Debugging for Automated Fault Localization; A Tutorial
Debugging programs is a complicated and cumbersome task. It is an iterative process which includes hypothesizing the cause of a failure and validating the hypothesis. Since programs comprise of many components with complex interactions this chain often involves several trials. Fault localization (FL) is the task of identifying components that are likely to cause the failure. Automated fault loc...
متن کاملModel-Based Reasoning with Multiple Test Cases and its Application to Debugging
Today’s simulation-centric hardware development process requires to leverage quality test suites for fault localization rather than employing them solely for detecting malfunctioning. In this article we (1) propose an extension of the model-based debugging theory to address the treatment of test suites in a well-founded way and (2) relate this novel approach to an algorithmic technique known as...
متن کاملFPA-Debug: Effective Statistical Fault Localization Considering Fault-proneness Analysis
The aim is to identify faulty predicates which have strong effect on program failure. Statistical debugging techniques are amongst best methods for pinpointing defects within the program source code. However, they have some drawbacks. They require a large number of executions to identify faults, they might be adversely affected by coincidental correctness, and they do not take into consideratio...
متن کاملProgrammers Should Still Use Slices When Debugging
What is the best technique for fault localization? In a study of 37 real bugs (and 37 injected faults) in more than a dozen open source C programs, we compare the effectiveness of statistical debugging against dynamic slicing—the first study ever to compare the techniques. On average, dynamic slicing is more effective than statistical debugging, requiring programmers to examine only 14% (42 lin...
متن کاملDynamic Code Coverage with Progressive Detail Levels
Nowadays, locating software components responsible for observed failures is one of the most expensive and error-prone tasks in the software development process. To improve the debugging process efficiency, some effort was already made to automatically assist the detection and location of software faults. This led to the creation of statistical debugging tools such as Tarantula, Zoltar and GZolt...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Softw. Test., Verif. Reliab.
دوره 26 شماره
صفحات -
تاریخ انتشار 2016